iT邦幫忙

2021 iThome 鐵人賽

DAY 6
1
永豐金融APIs

永豐證API X Python系列 第 6

【D6】試用廚具:合約資料(Contracts)

  • 分享至 

  • xImage
  •  

前言

當可以登入後,我們首先要做的是取得商品資料,有商品才能做後續的交易,因此要取得商品或合約資訊。

本篇主要是參考文件:https://sinotrade.github.io/tutor/contract/


登入

首先登入,一樣套用import shioaji as sj,並且登入,然後把可取得的商品資料印出。

# 載入shioaji套件
import shioaji as sj

# Initialization
api = sj.Shioaji()

# Login: (ID, password)
accounts = api.login(
    "註冊的ID",
    "註冊的密碼",
    contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done."),
)

這邊顯示商品以及其代碼:

<SecurityType.Index: 'IND'> fetch done.
<SecurityType.Future: 'FUT'> fetch done.
<SecurityType.Stock: 'STK'> fetch done.
<SecurityType.Option: 'OPT'> fetch done.

取得股票資訊

使用:api.Contracts,可以取得合約資訊,也就是商品的基本資料。這邊後面接Stock,表示股票資訊,然後再用股票代碼,就可以取得資訊。

contract_0050 = api.Contracts.Stocks["0050"]
print(contract_0050)

0050來說,可以取得商品代碼、名稱,漲跌最大樹等等。

exchange=<Exchange.TSE: 'TSE'> code='0050' symbol='TSE0050' name='元大台灣50' category='00' unit=1000 limit_up=154.1 limit_down=126.1 reference=140.1 update_date='2021/09/17' margin_trading_balance=6478 day_trade=<DayTrade.Yes: 'Yes'>

資料型態

在股票中的資料型態為:

exchange (Exchange): Attributes of industry.
    {OES, OTC, TSE ...etc}
code (str): Id.
symbol (str): Symbol.
name (str): Name.
category (str): Category.
limit_up (float): Limit up.
limit_down (float): Limit down.
reference (float): Reference price.
update_date (str): Update date.
margin_trading_balance (int): Margin trading balance.
short_selling_balance (int): Short selling balance.
day_trade (DayTrade): Day trade.
    {Yes, No, OnlyBuy}

取得期貨資訊

同樣的api.Contracts,後面接Futures,接著就是期貨的代碼,這邊會這樣的格式:「期貨代碼」+「月份」+「年的個位數」。其中月份為1~12月的英文代碼,分別從AL

contract_txf = api.Contracts.Futures["TXFJ1"]
print(contract_txf)

然後印出的結果如下:

code='TXFJ1' symbol='TXF202110' name='臺股期貨' category='TXF' delivery_month='202110' underlying_kind='I' unit=1 limit_up=19023.0 limit_down=15565.0 reference=17294.0 update_date='2021/09/18'

資料型態

在股票中的資料型態為:

code (str): Id.
symbol (str): Symbol.
name (str): Name.
category (str): Category.
limit_up (float): Limit up.
limit_down (float): Limit down.
reference (float): Reference price.
update_date (str): Update date.
delivery_month (str): Delivery Month.
underlying_kind (str): Underlying Kind.

上一篇
【D5】取得廚房鑰匙:下載憑證
下一篇
【D7】試用廚具:歷史資料(Historical Market Data)
系列文
永豐證API X Python31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言